package com.hbnu.system.model.query;

import cn.hutool.core.date.DateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.hbnu.system.core.query.SearchPage;
import com.hbnu.system.core.time.DateTimeDeserializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class AchievementPageQuery extends SearchPage {
    /**
     * 科研成果ID
     */
    @ApiModelProperty(value="科研成果ID")
    private String id;

    /**
     * 科研成果名称
     */
    @ApiModelProperty(value="科研成果名称")
    private String name;
    /**
     * 第一作者
     */
    @ApiModelProperty(value="第一作者")
    private String firstAuthor;

    /**
     * 成果形式
     */
    @ApiModelProperty(value="成果形式")
    private String resultForm;

    /**
     * 成果来源
     */
    @ApiModelProperty(value="成果来源")
    private String source;

    /**
     * 所属机构
     */
    @ApiModelProperty(value="所属机构")
    private String institutionName;

    /**
     * 采纳/签批时间
     */
    @ApiModelProperty(value="采纳/签批时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private DateTime adoptionTime;

    @ApiModelProperty(value="开始时间")
    @JsonDeserialize(using = DateTimeDeserializer.class)
    private DateTime beginTime;

    @ApiModelProperty(value="结束时间")
    @JsonDeserialize(using = DateTimeDeserializer.class)
    private DateTime endTime;

    /**
     * 未通过原因
     */
    @ApiModelProperty(value="未通过原因")
    private String reason;

    @ApiModelProperty(value = "录入人")
    private String entered;

    @ApiModelProperty(value = "级别")
    private String level;

    /**
     * 审核结果
     */
    @ApiModelProperty(value="审核结果")
    private String status;

    @ApiModelProperty(value="量化分数")
    private String score;
}
